Conversation
Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com>
🚀 Preview Deployment
|
… comparison Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/10d1c785-dec8-4385-93f9-2227e6cbe889
…dle size comparison" This reverts commit 78ba46e.
…rison POC Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/2be2daf4-40d0-405f-9fd3-1f36f9bb3f38
…ze comparison POC" This reverts commit f2989ae.
…adability Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/6aa13c00-bb5a-4ed4-8267-9a6ca54dcac9
…ayout fixes Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/50c3a544-1335-4bef-b126-dce519f5a67d
…arChart overflow fix Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/2ca75e12-45e8-44e0-be77-5fc7ab1b74a4
Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/20284ed7-8e56-426d-bbbc-c6c38a4b964e
Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/e8b26908-1370-4f5d-95ce-6f498962e2c8
…into copilot/optimize-chart-library
Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/f93d8048-62da-44cf-bac4-e4c2eafb1aa8
…into copilot/optimize-chart-library
Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/44e3eec1-109d-4ce7-b62b-66a6c2a0107f
Co-authored-by: hyunwoo0081 <76638365+hyunwoo0081@users.noreply.github.com> Agent-Logs-Url: https://github.com/allcll/allcll-frontend/sessions/7423d3a9-9dfe-4d78-b5ea-143b3d2d7860
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59b7c3fd1c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| function MixedChart({ data, options }: MixedChartProps) { | ||
| return <Chart type="bar" data={data} options={options} />; |
There was a problem hiding this comment.
Forward sizing props to loaded MixedChart
StatisticsChart now passes height={288}, but this wrapper drops that prop when the lazy chunk resolves because MixedChart only accepts { data, options } and renders <Chart> without forwarding sizing props. This means the fallback skeleton honors the height while the real chart does not, causing avoidable layout shift and inconsistent chart sizing after load.
Useful? React with 👍 / 👎.


개요
ALLCLL 서비스 내 차트 컴포넌트들의 성능을 최적화하고, 프로젝트 아키텍처를 견고하게 개선하기 위한 리팩토링입니다.
@allcll/charts패키지를 독립적으로 고도화하고, 각 애플리케이션의 번들 최적화를 수행했습니다.🚀 배경
현재 ALLCLL에서 차트(chart.js)는 다음과 같은 문제가 있었습니다.
📦 차트 라이브러리(chart.js, react-chartjs-2)가 번들에 포함되어 초기 로딩이 무거움
🔁 여러 페이지에서 동일 라이브러리를 중복 로딩
⚙️ 차트 사용할 때마다 Suspense 설정 필요 (개발 불편)
🚀 주요 변경 사항
1. @allcll/charts 패키지 분리
React.lazy와Suspense를 내장했습니다.2. 코드 스플리팅 - 번들 최적화 (Manual Chunks)
admin및client패키지의vite.config.ts에manualChunks설정을 추가chart.js와react-chartjs-2를vendor-chartjs청크로 강제 분리하여, 페이지 간 중복 로딩을 줄이고 캐싱 효율을 극대화3. 이미지 크기 최적화 (레이아웃 이동 방지)
packages/client/src/widgets/home/ui/MainBanner.tsx: spring-banner-min.png 이미지에width={740}height={788}속성 추가 (CLS 방지)w-[320px] lg:w-[370px])는 유지, height는 브라우저가 aspect-ratio로 자동 계산packages/client/src/shared/ui/Image.tsx:width/height는 이미React.ImgHTMLAttributes로 지원됨 (변경 불필요)4. (참고) index.html 탭 변경
⚙️ 아키텍처 개선 효과
Suspense설정 없이 컴포넌트만 사용해도 자동으로 성능 최적화가 적용됩니다.client패키지가 외부 라이브러리 타입에 직접 의존하지 않게 되어, 향후 라이브러리 교체 시 영향 범위가 대폭 줄어들었습니다.인프라 변화
Original prompt
📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.